package zzs.generalframework.console.core.parameter.commonparameter.politicalstatus.service;

import java.util.List;

import zzs.generalframework.common.core.parameter.commonparameter.politicalstatus.PoliticalStatusBO;
import zzs.generalframework.common.core.parameter.commonparameter.politicalstatus.PoliticalStatusInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.parameter.commonparameter.politicalstatus.service
 * @author zzs
 * @date 2018年2月2日
 * @version 1.0
 */
public interface IPoliticalStatusService
{

	/**
	 * 保存政治面貌信息
	 *
	 * @param politicalStatus
	 * @return
	 */
	public ConsoleReturnBO savePoliticalStatus(PoliticalStatusBO politicalStatusBO);

	/**
	 * 保存政治面貌信息列表
	 *
	 * @param politicalStatusBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO savePoliticalStatus(List<PoliticalStatusBO> politicalStatusBOList) throws ConsoleException;

	/**
	 * 获取政治面貌信息
	 *
	 * @param politicalStatusInfo
	 * @return
	 */
	public ConsoleReturnBO getPoliticalStatus(PoliticalStatusInfo politicalStatusInfo);

	/**
	 * 获取政治面貌信息列表
	 *
	 * @param politicalStatusInfo
	 * @return
	 */
	public ConsoleReturnBO listPoliticalStatus(PoliticalStatusInfo politicalStatusInfo);

	/**
	 * 更新政治面貌信息
	 *
	 * @param politicalStatusBO
	 * @return
	 */
	public ConsoleReturnBO updatePoliticalStatus(PoliticalStatusBO politicalStatusBO);

	/**
	 * 更新政治面貌信息列表
	 *
	 * @param politicalStatusBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updatePoliticalStatus(List<PoliticalStatusBO> politicalStatusBOList) throws ConsoleException;

	/**
	 * 删除政治面貌信息
	 *
	 * @param politicalStatusBO
	 * @return
	 */
	public ConsoleReturnBO removePoliticalStatus(PoliticalStatusBO politicalStatusBO);

	/**
	 * 删除政治面貌信息列表
	 *
	 * @param politicalStatusBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removePoliticalStatus(List<PoliticalStatusBO> politicalStatusBOList) throws ConsoleException;

	/**
	 * 统计政治面貌信息
	 *
	 * @param politicalStatusBO
	 * @return
	 */
	public Long countPoliticalStatus(PoliticalStatusBO politicalStatusBO);

}
